代码 > 解决flutter升级到 3.47后,No MaterialLocalizations found错误
2026-09-28
具体来说,是使用flex_color_picker这个组件弹窗后报No MaterialLocalizations错误。
和AI一阵Battle,听了AI一阵胡扯后,发现原因了。
很扯淡,因为flutter在3.47后,把material从flutter库里单独分包了。
所以,对应的Locaitons,也从flutter库里的那个,变成了material_ui库里那个。
所以说,虽然是同样类名,同样的代码,但是包不同,引用(指针)就不同喽,暴力硬判断Context中是否有对应类吗,判断出来的只能是null了。
结果么,听AI逼逼叨叨改了一堆,对于就是做个替换,把
import 'package:flutter/material.dart';
替换为
import 'package:material_ui/material_ui.dart';
说真的,问题解决后,真的觉得牙疼。
flutter这个更新策略太累了。但要上架app,也不敢放任flutter在老版本。
因此,做app flutter还算不错,纯桌面,的确不能考虑flutter。
追在后面更新太累。
点击登录